package net.csdn.business.kanban.api.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
/**
 * @ClassName KanbanView
 * @Description TODO
 * @Author liuzhisheng
 * @Date 2023/9/13
 **/
@NoArgsConstructor
@AllArgsConstructor
@Data
@TableName("kanban_view")
@Schema(description = "看板视图")
public class KanbanView implements Serializable {

    @TableId(value = "id",type = IdType.AUTO)
    @Schema(name = "id", description = "看板视图ID")
    private Long id;

    @Schema(name = "kanban_id", description = "看板ID")
    private String kanbanId;

    @Schema(name = "view_name", description = "视图名称")
    private String viewName;

    @Schema(name="kanban_type",description = "看板类型：1:table 2:board 3:roadmap")
    private Integer kanbanType;

    @Schema(name = "priority", description = "视图排序优先级")
    private Integer priority;

    @Schema(name = "view_number", description = "视图数量")
    private Integer viewNumber;

    @Schema(name = "filter_obj", description = "过滤条件")
//    @TableField(typeHandler = JacksonTypeHandler.class)
    private String filterObj;

    @Schema(name="creator_id",description = "创建人ID")
    private String creatorId;

    @Schema(name = "created_at", description = "创建时间")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    @Schema(name = "updated_at", description = "更新时间")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;

    @Schema(name = "field_display_json", description = "字段是否展示JSON（包含所有字段）{id:false}")
    private String fieldDisplayJson;

    /** 审核状态 */
    @Schema(name="audit_status",description = "审核状态")
    private Integer auditStatus;
}
